package com.yungu.swift.system.sys.model.param;

import com.yungu.swift.base.model.admin.AdminParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

/**
 * @author : cuixiuyin
 * @date : 2019/6/17
 */
@Data
@ApiModel
public class AdminDispatchParam extends AdminParam {

    @ApiModelProperty(value = "uuid", required = true)
    private String uuid;

    @ApiModelProperty(value = "固定轮询半径(公里)")
    private BigDecimal fixedRadius;

    @ApiModelProperty(value = "第一轮轮询半径(公里)")
    private BigDecimal firstRadius;

    @ApiModelProperty(value = "每轮递增轮询半径(公里)")
    private BigDecimal increaseRadius;

    @ApiModelProperty(value = "最大轮询半径(公里)")
    private BigDecimal maxRadius;

    @ApiModelProperty(value = "每轮轮询间隔(秒)")
    private BigDecimal intervalSecond;

    @ApiModelProperty(value = "最大等待时长(秒)")
    private BigDecimal maxWaitSecond;

    @ApiModelProperty(value = "开始允许向下听单时长(秒)")
    private BigDecimal listenDownSecond;

    @ApiModelProperty(value = "运营开始时间")
    private String operationStartTime;

    @ApiModelProperty(value = "运营结束时间")
    private String operationEndTime;

    @ApiModelProperty(value = "新乘客匹配新司机 0 关闭 1 开启", example = "0")
    private Integer newDriverPassengerMatch;

    @ApiModelProperty(value = "路面距离过滤开关 0 关闭 1 开启", example = "0")
    private Integer pavementDistanceFlag;

    @ApiModelProperty(value = "司机上一单完成时间开关 0 关闭 1开启", example = "0")
    private Integer driverPreviousOrderFlag;

    @ApiModelProperty(value = "司机服务分开关 0 关闭 1开启", example = "0")
    private Integer driverScoreFlag;

    @ApiModelProperty(value = "当天完成订单数开关 0 关闭 1开启", example = "0")
    private Integer currentDayOrderCountFlag;

    @ApiModelProperty(value = "小件派单模式  1自动 2手动", example = "0")
    private Integer parcelAssignMode;

    @ApiModelProperty(value = "派单模式  1自动 2手动", example = "0")
    private Integer assignMode;

    @ApiModelProperty(value = "首单派单距离", example = "0.0")
    private Double firstAssignDistance;

    @ApiModelProperty(value = "起点范围", example = "0.0")
    private Double originRange;

    @ApiModelProperty(value = "起点权重", example = "0.0")
    private Double originWeight;

    @ApiModelProperty(value = "终点范围", example = "0.0")
    private Double destRange;

    @ApiModelProperty(value = "终点权重", example = "0.0")
    private Double destWeight;

    @ApiModelProperty(value = "出发时间范围", example = "0.0")
    private Double departTimeRange;

    @ApiModelProperty(value = "出发时间权重", example = "0.0")
    private Double departTimeWeight;

    @ApiModelProperty(value = "上座率加分", example = "0.0")
    private Double beatRateBonus;

    @ApiModelProperty(value = "匹配度阈值", example = "0.0")
    private Double matchRateThreshold;
}
